package br.com.wai2008.socket.protocol;

/**
 * This class defines the Server to Server communication protocol.<br>
 * There are three different messages structures that can be used through
 * this communication. We will call ServerA and ServerB to explain 
 * this protocol communication between servers:<br><br>
 * 
 * 1. The first structure is from ServerA to ServerB, where ServerA
 * is requesting the estimated position for a device:<br>
 * <<dont use this>SSProtocol><br>
 *      <<dont use this>HDSerial><<dont use this>/HDSerial><br>
 * 		<<dont use this>Network><br>
 * 			<<dont use this>ID><<dont use this>/ID><br>
 * 			<<dont use this>Signal><<dont use this>/Signal><br>
 * 		<<dont use this>/Network><br>
 * 		<<dont use this>Network><br>
 * 			.<br>
 * 			.<br>
 * 			.<br>
 * <<dont use this>/SSProtocol><br><br>
 * 
 * 2. The second structure is from ServerB to ServerA, where ServerB
 * is sending the estimated position for a device:<br>
 * <<dont use this>SSProtocol><br>
 *      <<dont use this>XEstimated><<dont use this>/XEstimated><br>
 *      <<dont use this>YEstimated><<dont use this>/YEstimated><br>
 * <<dont use this>/SSProtocol><br><br>
 * 
 * 3. The third structure is from ServerB to ServerA, where ServerB
 * is sending an error while getting estimated position for a device:<br>
 * <<dont use this>SSProtocol><br>
 *      <<dont use this>ErrorCode><<dont use this>/ErrorCode><br>
 * 		<<dont use this>ErrorDescription><<dont use this>/ErrorDescription><br>
 * <<dont use this>/SSProtocol><br><br>
 * 
 * @since 
 * 		September, 2008.
 * 
 * @version
 * 		WAI2008 - version 1.0
 * 
 * @author 
 * 		Andre Romero Goncales
 */
public class ServerToServerProtocol {

	/**
	 * SSProtocol start tag
	 */
	public static final String TAG_SS_ROOT_START = "<SSProtocol>";

	/**
	 * SSProtocol end tag
	 */
	public static final String TAG_SS_ROOT_END = "</SSProtocol>";

	/**
	 * HDSerial start tag
	 */
	public static final String TAG_SS_HDSERIAL_START = "<HDSerial>";

	/**
	 * HDSerial end tag
	 */
	public static final String TAG_SS_HDSERIAL_END = "</HDSerial>";

	/**
	 * Network start tag
	 */
	public static final String TAG_SS_NETWORK_START = "<Network>";

	/**
	 * Network end tag
	 */
	public static final String TAG_SS_NETWORK_END = "</Network>";

	/**
	 * ID start tag
	 */
	public static final String TAG_SS_ID_START = "<ID>";

	/**
	 * ID end tag
	 */
	public static final String TAG_SS_ID_END = "</ID>";

	/**
	 * Signal start tag
	 */
	public static final String TAG_SS_SIGNAL_START = "<Signal>";

	/**
	 * Signal end tag
	 */
	public static final String TAG_SS_SIGNAL_END = "</Signal>";

	/**
	 * XEstimated start tag
	 */
	public static final String TAG_SS_XESTIMADO_START = "<XEstimated>";

	/**
	 * XEstimated end tag
	 */
	public static final String TAG_SS_XESTIMADO_END = "</XEstimated>";

	/**
	 * YEstimated start tag
	 */
	public static final String TAG_SS_YESTIMADO_START = "<YEstimated>";

	/**
	 * YEstimated end tag
	 */
	public static final String TAG_SS_YESTIMADO_END = "</YEstimated>";

	/**
	 * ErrorCode start tag
	 */	
	public static final String TAG_SS_CODE_START = "<ErrorCode>";

	/**
	 * ErrorCode end tag
	 */
	public static final String TAG_SS_CODE_END = "</ErrorCode>";

	/**
	 * ErrorDescription start tag
	 */
	public static final String TAG_SS_DESCRIPTION_START = "<ErrorDescription>";

	/**
	 * ErrorDescription end tag
	 */
	public static final String TAG_SS_DESCRIPTION_END = "</ErrorDescription>";

	/**
	 * End Line tag
	 */
	public static final String END_LINE = "\n";
	
}
